package com.jet.goods.service;

import com.jet.core.model.vo.PageVo;
import com.jet.goods.domain.dto.SpecDto;
import com.jet.goods.domain.dto.SpecValueDto;
import com.jet.goods.domain.entity.GoodsSpec;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jet.goods.domain.query.SpecKeyQuery;
import com.jet.goods.domain.vo.SpecKeyVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-03-04
 */
public interface IGoodsSpecService extends IService<GoodsSpec> {

    GoodsSpec create(long merchantNo, SpecDto dto);

    void edit(long merchantNo, String id, SpecDto dto);

    void batchEdit(long merchantNo, List<SpecValueDto> dtos);

    void delete(long merchantNo, String id);

    GoodsSpec findChildByName(long merchantNo, String name, String pid);

    List<GoodsSpec> findAllByIds(long merchantNo, List<String> ids);

    List<GoodsSpec> findAll(long merchantNo, SpecKeyQuery query);

    PageVo<SpecKeyVo> page(long merchantNo, SpecKeyQuery query);
}
